package com.virtualightning.mvvm.impl.adapter

import android.view.LayoutInflater
import android.view.ViewGroup

/**
 *  Anchor : Create by CimZzz
 *  Time : 2021/1/26 10:31:07
 *  Project : zxs-new
 *  ViewHolder 工厂接口
 */
interface IViewHolderFactory<T, E: UniverseAdapter.BaseViewHolder<T>> {
    /**
     * 工厂方法，返回对应的 ViewHolder 的 Class
     * @return Class<E>
     */
    fun getViewHolderCls() : Class<E>

    /**
     * 工厂方法，生成对应的 ViewHolder
     * @param inflater LayoutInflater
     * @param parent ViewGroup 父布局
     * @return E ViewHolder 对象
     */
    fun generatorViewHolder(inflater: LayoutInflater, parent: ViewGroup) : E
}

